﻿// ============================================================================
//  _ __   ___  ___  ___ _ __ ___  _   _
// | '_ \ / _ \/ __|/ _ \ '_ ` _ \| | | |
// | | | |  __/\__ \  __/ | | | | | |_| |
// |_| |_|\___||___/\___|_| |_| |_|\__,_|
//
// NES Emulator by daxnet, 2024
// MIT License
// ============================================================================

using Color = Microsoft.Xna.Framework.Color;

namespace NesEmu.Console.Palettes;

internal sealed class _2C02G_aps_ela_NTSC_persune_GVUSB2_NTSC_M : ColorPalette
{
    #region Private Fields

    private static readonly Color[] _paletteColors =
    [
        new Color(73, 73, 73),
        new Color(0, 0, 139),
        new Color(17, 0, 145),
        new Color(59, 0, 110),
        new Color(81, 0, 50),
        new Color(83, 0, 0),
        new Color(69, 0, 0),
        new Color(31, 20, 0),
        new Color(0, 42, 0),
        new Color(0, 54, 0),
        new Color(0, 54, 0),
        new Color(0, 40, 36),
        new Color(0, 19, 100),
        new Color(0, 0, 0),
        new Color(0, 0, 0),
        new Color(0, 0, 0),
        new Color(150, 150, 150),
        new Color(18, 47, 234),
        new Color(63, 21, 249),
        new Color(124, 0, 211),
        new Color(157, 0, 134),
        new Color(165, 11, 37),
        new Color(150, 33, 0),
        new Color(101, 72, 0),
        new Color(47, 103, 0),
        new Color(0, 122, 0),
        new Color(0, 125, 0),
        new Color(0, 109, 83),
        new Color(0, 81, 174),
        new Color(0, 0, 0),
        new Color(0, 0, 0),
        new Color(0, 0, 0),
        new Color(239, 239, 239),
        new Color(94, 138, 255),
        new Color(140, 110, 255),
        new Color(204, 83, 255),
        new Color(243, 78, 238),
        new Color(255, 91, 138),
        new Color(243, 113, 56),
        new Color(197, 153, 0),
        new Color(142, 185, 0),
        new Color(87, 207, 0),
        new Color(53, 213, 38),
        new Color(35, 200, 152),
        new Color(52, 173, 249),
        new Color(52, 52, 52),
        new Color(0, 0, 0),
        new Color(0, 0, 0),
        new Color(239, 239, 239),
        new Color(177, 201, 255),
        new Color(195, 189, 255),
        new Color(222, 178, 255),
        new Color(239, 174, 244),
        new Color(246, 178, 206),
        new Color(242, 186, 172),
        new Color(226, 202, 135),
        new Color(204, 216, 123),
        new Color(181, 225, 131),
        new Color(167, 229, 153),
        new Color(157, 225, 197),
        new Color(162, 215, 237),
        new Color(164, 164, 164),
        new Color(0, 0, 0),
        new Color(0, 0, 0)
    ];

    #endregion Private Fields

    #region Protected Methods

    protected override Color[] GetPaletteColors() => _paletteColors;

    #endregion Protected Methods
}